/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package sirius.usynapse.data;

import java.util.Date;
import java.util.List;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

/**
 *
 * @author jildefonso
 */
@PersistenceCapable(identityType=IdentityType.APPLICATION)
public class Jugador {

    @PrimaryKey
    @Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY)
    private long id = 0;
    @PrimaryKey
    private String usuario = null;
    @Persistent
    private String contrasenia = null;
    @Persistent
    private List<Mensaje> mensajes = null;
    @Persistent
    private Raza raza = null;
    @Persistent
    private int puntos = 0;
    @Persistent
    private int sensoresLargoAlcance = 0;
    @Persistent
    private Date fechaCreacion = null;
    @Persistent
    private Date fechaUltimaActividad = null;
    @Persistent
    private List<Ejercito> division = null;
    @Persistent
    private List<Mejora> tecnologias = null;
    @Persistent
    private List<Objeto> objetos = null;
    @Persistent
    private List<Mision> misiones = null;

    @Override
    public boolean equals(Object obj) {
        return obj instanceof Jugador ? ((Jugador) obj).getId() == getId() : false;
    }

    /**
     * @return the id
     */
    public long getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(long id) {
        this.id = id;
    }

    /**
     * @return the usuario
     */
    public String getUsuario() {
        return usuario;
    }

    /**
     * @param usuario the usuario to set
     */
    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }

    /**
     * @return the contrasenia
     */
    public String getContrasenia() {
        return contrasenia;
    }

    /**
     * @param contrasenia the contrasenia to set
     */
    public void setContrasenia(String contrasenia) {
        this.contrasenia = contrasenia;
    }

    /**
     * @return the mensajes
     */
    public List<Mensaje> getMensajes() {
        return mensajes;
    }

    /**
     * @param mensajes the mensajes to set
     */
    public void setMensajes(List<Mensaje> mensajes) {
        this.mensajes = mensajes;
    }

    /**
     * @return the raza
     */
    public Raza getRaza() {
        return raza;
    }

    /**
     * @param raza the raza to set
     */
    public void setRaza(Raza raza) {
        this.raza = raza;
    }

    /**
     * @return the puntos
     */
    public int getPuntos() {
        return puntos;
    }

    /**
     * @param puntos the puntos to set
     */
    public void setPuntos(int puntos) {
        this.puntos = puntos;
    }

    /**
     * @return the sensoresLargoAlcance
     */
    public int getSensoresLargoAlcance() {
        return sensoresLargoAlcance;
    }

    /**
     * @param sensoresLargoAlcance the sensoresLargoAlcance to set
     */
    public void setSensoresLargoAlcance(int sensoresLargoAlcance) {
        this.sensoresLargoAlcance = sensoresLargoAlcance;
    }

    /**
     * @return the fechaCreacion
     */
    public Date getFechaCreacion() {
        return fechaCreacion;
    }

    /**
     * @param fechaCreacion the fechaCreacion to set
     */
    public void setFechaCreacion(Date fechaCreacion) {
        this.fechaCreacion = fechaCreacion;
    }

    /**
     * @return the fechaUltimaActividad
     */
    public Date getFechaUltimaActividad() {
        return fechaUltimaActividad;
    }

    /**
     * @param fechaUltimaActividad the fechaUltimaActividad to set
     */
    public void setFechaUltimaActividad(Date fechaUltimaActividad) {
        this.fechaUltimaActividad = fechaUltimaActividad;
    }

    /**
     * @return the division
     */
    public List<Ejercito> getDivision() {
        return division;
    }

    /**
     * @param division the division to set
     */
    public void setDivision(List<Ejercito> division) {
        this.division = division;
    }

    /**
     * @return the tecnologias
     */
    public List<Mejora> getTecnologias() {
        return tecnologias;
    }

    /**
     * @param tecnologias the tecnologias to set
     */
    public void setTecnologias(List<Mejora> tecnologias) {
        this.tecnologias = tecnologias;
    }

    /**
     * @return the objetos
     */
    public List<Objeto> getObjetos() {
        return objetos;
    }

    /**
     * @param objetos the objetos to set
     */
    public void setObjetos(List<Objeto> objetos) {
        this.objetos = objetos;
    }

    /**
     * @return the misiones
     */
    public List<Mision> getMisiones() {
        return misiones;
    }

    /**
     * @param misiones the misiones to set
     */
    public void setMisiones(List<Mision> misiones) {
        this.misiones = misiones;
    }

}
